package com.yicong.ants.bean.scenic;

import com.yicong.ants.bean.common.PageInfoBean;

import java.util.List;

/**
 * @author cchao
 * @version 2019-07-03.
 */
public class ScenicList {

    PageInfoBean pageInfo;
    List<Item> senicList;

    public ScenicList() {
    }

    public PageInfoBean getPageInfo() {
        return this.pageInfo;
    }

    public List<Item> getSenicList() {
        return this.senicList;
    }

    public void setPageInfo(PageInfoBean pageInfo) {
        this.pageInfo = pageInfo;
    }

    public void setSenicList(List<Item> senicList) {
        this.senicList = senicList;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof ScenicList)) return false;
        final ScenicList other = (ScenicList) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$pageInfo = this.getPageInfo();
        final Object other$pageInfo = other.getPageInfo();
        if (this$pageInfo == null ? other$pageInfo != null : !this$pageInfo.equals(other$pageInfo))
            return false;
        final Object this$senicList = this.getSenicList();
        final Object other$senicList = other.getSenicList();
        if (this$senicList == null ? other$senicList != null : !this$senicList.equals(other$senicList))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof ScenicList;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $pageInfo = this.getPageInfo();
        result = result * PRIME + ($pageInfo == null ? 43 : $pageInfo.hashCode());
        final Object $senicList = this.getSenicList();
        result = result * PRIME + ($senicList == null ? 43 : $senicList.hashCode());
        return result;
    }

    public String toString() {
        return "ScenicList(pageInfo=" + this.getPageInfo() + ", senicList=" + this.getSenicList() + ")";
    }

    public class Item {

        /**
         * scenic_id : 1510
         * name : 胡雪岩故居
         * address : 浙江省杭州市上城区元宝街18号
         * longitude : 120.179464
         * latitude : 30.242971
         * thumbnail : http://zslyadmin.yytxlyw.com/Uploads/Picture/2018-09-05/d6f2208036b.jpg
         * short_description : 晚清红顶巨商胡雪岩的豪宅，极尽奢华的江南园林。
         * advance : 1
         * cate_name : 自然风光
         * level_name : 3A景区
         * distance : 4.239
         * passport_types : [1]
         * passport_type_name : [黄金版]
         */

        private String senic_id;
        private String name;
        private String address;
        private String longitude;
        private String latitude;
        private String thumbnail;
        private String short_description;
        private int advance;
        private String cate_name;
        private String level_name;
        private double distance;
        private String passport_type_name;

        public Item() {
        }

        public String getSenic_id() {
            return this.senic_id;
        }

        public String getName() {
            return this.name;
        }

        public String getAddress() {
            return this.address;
        }

        public String getLongitude() {
            return this.longitude;
        }

        public String getLatitude() {
            return this.latitude;
        }

        public String getThumbnail() {
            return this.thumbnail;
        }

        public String getShort_description() {
            return this.short_description;
        }

        public int getAdvance() {
            return this.advance;
        }

        public String getCate_name() {
            return this.cate_name;
        }

        public String getLevel_name() {
            return this.level_name;
        }

        public double getDistance() {
            return this.distance;
        }

        public String getPassport_type_name() {
            return this.passport_type_name;
        }

        public void setSenic_id(String senic_id) {
            this.senic_id = senic_id;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }

        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }

        public void setThumbnail(String thumbnail) {
            this.thumbnail = thumbnail;
        }

        public void setShort_description(String short_description) {
            this.short_description = short_description;
        }

        public void setAdvance(int advance) {
            this.advance = advance;
        }

        public void setCate_name(String cate_name) {
            this.cate_name = cate_name;
        }

        public void setLevel_name(String level_name) {
            this.level_name = level_name;
        }

        public void setDistance(double distance) {
            this.distance = distance;
        }

        public void setPassport_type_name(String passport_type_name) {
            this.passport_type_name = passport_type_name;
        }

        public boolean equals(final Object o) {
            if (o == this) return true;
            if (!(o instanceof Item)) return false;
            final Item other = (Item) o;
            if (!other.canEqual((Object) this)) return false;
            final Object this$senic_id = this.getSenic_id();
            final Object other$senic_id = other.getSenic_id();
            if (this$senic_id == null ? other$senic_id != null : !this$senic_id.equals(other$senic_id))
                return false;
            final Object this$name = this.getName();
            final Object other$name = other.getName();
            if (this$name == null ? other$name != null : !this$name.equals(other$name))
                return false;
            final Object this$address = this.getAddress();
            final Object other$address = other.getAddress();
            if (this$address == null ? other$address != null : !this$address.equals(other$address))
                return false;
            final Object this$longitude = this.getLongitude();
            final Object other$longitude = other.getLongitude();
            if (this$longitude == null ? other$longitude != null : !this$longitude.equals(other$longitude))
                return false;
            final Object this$latitude = this.getLatitude();
            final Object other$latitude = other.getLatitude();
            if (this$latitude == null ? other$latitude != null : !this$latitude.equals(other$latitude))
                return false;
            final Object this$thumbnail = this.getThumbnail();
            final Object other$thumbnail = other.getThumbnail();
            if (this$thumbnail == null ? other$thumbnail != null : !this$thumbnail.equals(other$thumbnail))
                return false;
            final Object this$short_description = this.getShort_description();
            final Object other$short_description = other.getShort_description();
            if (this$short_description == null ? other$short_description != null : !this$short_description.equals(other$short_description))
                return false;
            if (this.getAdvance() != other.getAdvance()) return false;
            final Object this$cate_name = this.getCate_name();
            final Object other$cate_name = other.getCate_name();
            if (this$cate_name == null ? other$cate_name != null : !this$cate_name.equals(other$cate_name))
                return false;
            final Object this$level_name = this.getLevel_name();
            final Object other$level_name = other.getLevel_name();
            if (this$level_name == null ? other$level_name != null : !this$level_name.equals(other$level_name))
                return false;
            if (Double.compare(this.getDistance(), other.getDistance()) != 0) return false;
            final Object this$passport_type_name = this.getPassport_type_name();
            final Object other$passport_type_name = other.getPassport_type_name();
            if (this$passport_type_name == null ? other$passport_type_name != null : !this$passport_type_name.equals(other$passport_type_name))
                return false;
            return true;
        }

        protected boolean canEqual(final Object other) {
            return other instanceof Item;
        }

        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $senic_id = this.getSenic_id();
            result = result * PRIME + ($senic_id == null ? 43 : $senic_id.hashCode());
            final Object $name = this.getName();
            result = result * PRIME + ($name == null ? 43 : $name.hashCode());
            final Object $address = this.getAddress();
            result = result * PRIME + ($address == null ? 43 : $address.hashCode());
            final Object $longitude = this.getLongitude();
            result = result * PRIME + ($longitude == null ? 43 : $longitude.hashCode());
            final Object $latitude = this.getLatitude();
            result = result * PRIME + ($latitude == null ? 43 : $latitude.hashCode());
            final Object $thumbnail = this.getThumbnail();
            result = result * PRIME + ($thumbnail == null ? 43 : $thumbnail.hashCode());
            final Object $short_description = this.getShort_description();
            result = result * PRIME + ($short_description == null ? 43 : $short_description.hashCode());
            result = result * PRIME + this.getAdvance();
            final Object $cate_name = this.getCate_name();
            result = result * PRIME + ($cate_name == null ? 43 : $cate_name.hashCode());
            final Object $level_name = this.getLevel_name();
            result = result * PRIME + ($level_name == null ? 43 : $level_name.hashCode());
            final long $distance = Double.doubleToLongBits(this.getDistance());
            result = result * PRIME + (int) ($distance >>> 32 ^ $distance);
            final Object $passport_type_name = this.getPassport_type_name();
            result = result * PRIME + ($passport_type_name == null ? 43 : $passport_type_name.hashCode());
            return result;
        }

        public String toString() {
            return "ScenicList.Item(senic_id=" + this.getSenic_id() + ", name=" + this.getName() + ", address=" + this.getAddress() + ", longitude=" + this.getLongitude() + ", latitude=" + this.getLatitude() + ", thumbnail=" + this.getThumbnail() + ", short_description=" + this.getShort_description() + ", advance=" + this.getAdvance() + ", cate_name=" + this.getCate_name() + ", level_name=" + this.getLevel_name() + ", distance=" + this.getDistance() + ", passport_type_name=" + this.getPassport_type_name() + ")";
        }
    }
}
